﻿/*
 * 创建者:  ideapadqiao\qiaojianhui
 * 邮件:    qiaojianhui@cont.com.cn
 * 功能描述: 
 * 历史记录: created by qiaojianhui 2012/2/26 16:41:37  
 *           2012年3月4日,修改 将IOQGApplication OQGApplication接口改为Object Hook，以避免对于参数内容的限定
 *                        增加 增加了HelpID属性，以备以后增加帮助文档 
 *           
 */

using System.Drawing;
using System.Windows.Forms;

namespace oqis.gis.frame
{
    public interface IBaseCommand
    {
        #region 属性

        /// <summary>
        /// 图片
        /// </summary>
        Image CommandImage { get; set; }

        /// <summary>
        /// 显示名称
        /// </summary>
        string CommandText { get; set; }

        /// <summary>
        /// 提示
        /// </summary>
        string CommandToolTip { get; set; }

        /// <summary>
        /// 帮助项
        /// </summary>
        int HelpID { get; set; }

        /// <summary>
        /// Command的操作关联对象
        /// </summary>
        object Hook { get; set; }

        /// <summary>
        /// 是否可用
        /// </summary>
        bool Enable { get; set; }

        /// <summary>
        /// 是否可见
        /// </summary>
        bool Visible { get; set; }

        /// <summary>
        /// 快捷键
        /// </summary>
        string ShortCut { get; set; }

        #endregion

        #region 方法

        /// <summary>
        /// 初始化
        /// </summary>
        /// <remarks>关于本Command对象所有初始化对象都在Initialize方法中执行</remarks>
        void Initialize();

        /// <summary>
        /// 鼠标点击事件
        /// </summary>
        void OnClick();

        #endregion
    }
}
